﻿using System;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections.Generic;

namespace SP_XHWeb.Layouts.SP_XHWeb
{
    public partial class OfficeRecord : LayoutsPageBase
    {
        //string siteUrl = string.Empty;
        //public string EmployeeInfoUrl = "/_layouts/SP_XHWeb/EmployeeDetails.aspx?item_id=";
        protected void Page_Load(object sender, EventArgs e)
        {

            if (!IsPostBack)
            {
                gvOR.DataSource = GetContract();
                gvOR.DataBind();
            }
        }

        protected void imb1_Click(object sender, ImageClickEventArgs e)
        {
            lblMsg.Text = "";
            string strType = ddl1.SelectedItem.Text.Trim();
            string strName = txt1.Text.Trim();
            string strDate = txtDate.Text.Trim();
            string strCompany = txtCompany.Text.Trim();
            string strEndDate = txtEndDate.Text.Trim();
            string strPerson = txtPerson.Text.Trim();
            if (strType == "选择类型" && string.IsNullOrEmpty(strName) && string.IsNullOrEmpty(strDate) && string.IsNullOrEmpty(strCompany) && string.IsNullOrEmpty(strPerson))
            {
                
                List<Contract> listes = GetContract();
                gvOR.DataSource = listes;
                if (listes != null && listes.Count > 0)
                {
                    gvOR.PageIndex = 0;
                }
                gvOR.DataBind();
            }
            else
            {
                List<Contract> lists = GetContract(strType, strName, strPerson, strCompany, strDate, strEndDate);
                if (lists != null && lists.Count != 0)
                {
                    List<Contract> listes = GetContract();
                    gvOR.DataSource = listes;
                    if (listes != null && listes.Count > 0)
                    {
                        gvOR.PageIndex = 0;
                    }
                    gvOR.DataBind();
                }
                else
                {
                    gvOR.DataSource = null;
                    gvOR.DataBind();
                }
            }
        }

        //防止GridView翻页时报错
        protected void gvOR_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            gvOR.PageIndex = e.NewPageIndex;
            string strType = ddl1.SelectedItem.Text.Trim();
            string strName = txt1.Text.Trim();
            string strDate = txtDate.Text.Trim();
            string strCompany = txtCompany.Text.Trim();
            string strEndDate = txtEndDate.Text.Trim();
            string strPerson = txtPerson.Text.Trim();
            if (strType == "选择类型" && strName == "" && strDate == "" && strCompany == "" && strPerson == "")
            {
                gvOR.DataSource = GetContract();
                gvOR.DataBind();
            }
            else
            {
                gvOR.DataSource = GetContract(strType, strName, strPerson, strCompany, strDate, strEndDate);
                gvOR.DataBind();
            }
        }

        private List<Contract> GetContract()
        {
            List<Contract> lists = new List<Contract>();
            string hostUrl = this.Page.Request.Url.Scheme + "://" + this.Page.Request.Url.Authority;
            //string siteUrl = this.Page.Request.Url.ToString().ToLower();
            if (!string.IsNullOrEmpty(hostUrl))
            {
                using (SPSite site = new SPSite(hostUrl + "/default.aspx"))
                {
                    using (SPWeb web = site.OpenWeb())
                    {
                        SPList list = web.Lists.TryGetList("OfficeRecordList");
                        if (list != null && list.ItemCount != 0)
                        {
                            foreach (SPListItem item in list.Items)
                            {
                                lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                            }
                        }
                    }
                }
            }
            return lists;
        }

        private List<Contract> GetContract(string strType, string strName, string strPerson, string strCompany, string strDate, string strEndDate)
        {
            List<Contract> lists = new List<Contract>();
            string hostUrl = this.Page.Request.Url.Scheme + "://" + this.Page.Request.Url.Authority;
            //string siteUrl = this.Page.Request.Url.ToString().ToLower();
            if (!string.IsNullOrEmpty(hostUrl))
            {
                using (SPSite site = new SPSite(hostUrl + "/default.aspx"))
                {
                    using (SPWeb web = site.OpenWeb())
                    {
                        SPList list = web.Lists.TryGetList("OfficeRecordList");
                        if (list != null && list.ItemCount != 0)
                        {
                            //类型不为空
                            if (strType != "选择类型" && string.IsNullOrEmpty(strName) && string.IsNullOrEmpty(strDate) && string.IsNullOrEmpty(strCompany) && string.IsNullOrEmpty(strPerson))
                            {
                                foreach (SPListItem item in list.Items)
                                {
                                    if (item["合同类型"].ToString().ToLower() == strType.ToLower())
                                    {
                                        lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                    }
                                }
                            }
                            //名称不为空
                            else if (strType == "选择类型" && !string.IsNullOrEmpty(strName) && string.IsNullOrEmpty(strDate) && string.IsNullOrEmpty(strCompany) && string.IsNullOrEmpty(strPerson))
                            {
                                foreach (SPListItem item in list.Items)
                                {
                                    if (item["合同名称"].ToString().ToLower().Contains(strName.ToLower()))
                                    {
                                        lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                    }
                                }
                            }
                            //责任人不为空
                            else if (strType == "选择类型" && string.IsNullOrEmpty(strName) && string.IsNullOrEmpty(strDate) && !string.IsNullOrEmpty(strCompany) && string.IsNullOrEmpty(strPerson))
                            {
                                foreach (SPListItem item in list.Items)
                                {
                                    if (item["合同负责人"].ToString().ToLower().Contains(strCompany.ToLower()))
                                    {
                                        lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                    }
                                }
                            }
                            //签订人不为空
                            else if (strType == "选择类型" && string.IsNullOrEmpty(strName) && string.IsNullOrEmpty(strDate) && string.IsNullOrEmpty(strCompany) && !string.IsNullOrEmpty(strPerson))
                            {
                                foreach (SPListItem item in list.Items)
                                {
                                    if (item["签订人"].ToString().ToLower().Contains(strPerson.ToLower()))
                                    {
                                        lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                    }
                                }
                            }
                            //日期不为空
                            else if (strType == "选择类型" && string.IsNullOrEmpty(strName) && string.IsNullOrEmpty(strPerson) && !string.IsNullOrEmpty(strDate) && string.IsNullOrEmpty(strCompany))
                            {
                                try
                                {
                                    if (DateTime.Parse(strDate).ToString("yyyy-MM-dd") != "")
                                    {
                                        DateTime dtEndDate = strEndDate == "" ? DateTime.Now.Date : DateTime.Parse(strEndDate).Date;
                                        if (dtEndDate < DateTime.Parse(strDate).Date)
                                        {
                                            lblMsg.Text = " 结束日期必须不早于开始日期";
                                        }
                                        else
                                        {
                                            foreach (SPListItem item in list.Items)
                                            {
                                                //if (DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") == DateTime.Parse(strDate).ToString("yyyy-MM-dd"))
                                                if (DateTime.Parse(item["日期"].ToString()).Date >= DateTime.Parse(strDate).Date && DateTime.Parse(item["日期"].ToString()).Date <= dtEndDate)
                                                {
                                                    lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                                }
                                            }
                                        }
                                    }
                                }
                                catch
                                {
                                    txtDate.Text = "";
                                    txtEndDate.Text = "";
                                    lblMsg.Text = " 搜索日期格式错误,请重新输入";
                                }

                            }
                            //类型、名称不为空
                            else if (strType != "选择类型" && !string.IsNullOrEmpty(strName) && string.IsNullOrEmpty(strDate) && string.IsNullOrEmpty(strCompany) && string.IsNullOrEmpty(strPerson))
                            {
                                foreach (SPListItem item in list.Items)
                                {
                                    if (item["合同类型"].ToString().ToLower() == strType.ToLower() && item["合同名称"].ToString().ToLower().Contains(strName.ToLower()))
                                    {
                                        lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                    }
                                }
                            }
                            //类型、责任人不为空
                            else if (strType != "选择类型" && string.IsNullOrEmpty(strName) && string.IsNullOrEmpty(strDate) && !string.IsNullOrEmpty(strCompany) && string.IsNullOrEmpty(strPerson))
                            {
                                foreach (SPListItem item in list.Items)
                                {
                                    if (item["合同类型"].ToString().ToLower() == strType.ToLower() && item["合同负责人"].ToString().ToLower().Contains(strCompany.ToLower()))
                                    {
                                        lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                    }
                                }
                            }
                            //类型、签订人不为空
                            else if (strType != "选择类型" && string.IsNullOrEmpty(strName) && string.IsNullOrEmpty(strDate) && string.IsNullOrEmpty(strCompany) && !string.IsNullOrEmpty(strPerson))
                            {
                                foreach (SPListItem item in list.Items)
                                {
                                    if (item["合同类型"].ToString().ToLower() == strType.ToLower() && item["签订人"].ToString().ToLower().Contains(strPerson.ToLower()))
                                    {
                                        lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                    }
                                }
                            }
                            //责任人、签订人不为空
                            else if (strType == "选择类型" && string.IsNullOrEmpty(strName) && string.IsNullOrEmpty(strDate) && !string.IsNullOrEmpty(strCompany) && !string.IsNullOrEmpty(strPerson))
                            {
                                foreach (SPListItem item in list.Items)
                                {
                                    if (item["合同负责人"].ToString().ToLower().Contains(strCompany.ToLower()) && item["签订人"].ToString().ToLower().Contains(strPerson.ToLower()))
                                    {
                                        lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                    }
                                }
                            }
                            //名称、签订人不为空
                            else if (strType == "选择类型" && !string.IsNullOrEmpty(strName) && string.IsNullOrEmpty(strDate) && string.IsNullOrEmpty(strCompany) && !string.IsNullOrEmpty(strPerson))
                            {
                                foreach (SPListItem item in list.Items)
                                {
                                    if (item["合同名称"].ToString().ToLower().Contains(strName.ToLower()) && item["签订人"].ToString().ToLower().Contains(strPerson.ToLower()))
                                    {
                                        lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                    }
                                }
                            }
                            //名称、责任人不为空
                            else if (strType == "选择类型" && !string.IsNullOrEmpty(strName) && string.IsNullOrEmpty(strDate) && !string.IsNullOrEmpty(strCompany) && string.IsNullOrEmpty(strPerson))
                            {
                                foreach (SPListItem item in list.Items)
                                {
                                    if (item["合同名称"].ToString().ToLower().Contains(strName.ToLower()) && item["合同负责人"].ToString().ToLower().Contains(strCompany.ToLower()))
                                    {
                                        lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                    }
                                }
                            }
                            //类型、日期不为空
                            else if (strType != "选择类型" && string.IsNullOrEmpty(strName) && !string.IsNullOrEmpty(strDate) && string.IsNullOrEmpty(strCompany) && string.IsNullOrEmpty(strPerson))
                            {
                                try
                                {
                                    if (DateTime.Parse(strDate).ToString("yyyy-MM-dd") != "")
                                    {
                                        DateTime dtEndDate = strEndDate == "" ? DateTime.Now.Date : DateTime.Parse(strEndDate).Date;
                                        if (dtEndDate < DateTime.Parse(strDate).Date)
                                        {
                                            lblMsg.Text = " 结束日期必须不早于开始日期";
                                        }
                                        else
                                        {
                                            foreach (SPListItem item in list.Items)
                                            {
                                                if (item["合同类型"].ToString().ToLower() == strType.ToLower() && DateTime.Parse(item["日期"].ToString()).Date >= DateTime.Parse(strDate).Date && DateTime.Parse(item["日期"].ToString()).Date <= dtEndDate)
                                                {
                                                    lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                                }
                                            }
                                        }
                                    }
                                }
                                catch
                                {
                                    txtDate.Text = "";
                                    txtEndDate.Text = "";
                                    lblMsg.Text = " 搜索日期格式错误,请重新输入";
                                }
                            }
                            //名称、日期不为空
                            else if (strType == "选择类型" && !string.IsNullOrEmpty(strName) && !string.IsNullOrEmpty(strDate) && string.IsNullOrEmpty(strCompany) && string.IsNullOrEmpty(strPerson))
                            {
                                try
                                {
                                    if (DateTime.Parse(strDate).ToString("yyyy-MM-dd") != "")
                                    {
                                        DateTime dtEndDate = strEndDate == "" ? DateTime.Now.Date : DateTime.Parse(strEndDate).Date;
                                        if (dtEndDate < DateTime.Parse(strDate).Date)
                                        {
                                            lblMsg.Text = " 结束日期必须不早于开始日期";
                                        }
                                        else
                                        {
                                            foreach (SPListItem item in list.Items)
                                            {
                                                if (item["合同名称"].ToString().ToLower().Contains(strName.ToLower()) && DateTime.Parse(item["日期"].ToString()).Date >= DateTime.Parse(strDate).Date && DateTime.Parse(item["日期"].ToString()).Date <= dtEndDate)
                                                {
                                                    lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                                }
                                            }
                                        }
                                    }
                                    
                                }
                                catch
                                {
                                    txtDate.Text = "";
                                    txtEndDate.Text = "";
                                    lblMsg.Text = " 搜索日期格式错误,请重新输入";
                                }
                            }
                            //签订人、日期不为空
                            else if (strType == "选择类型" && string.IsNullOrEmpty(strName) && !string.IsNullOrEmpty(strDate) && string.IsNullOrEmpty(strCompany) && !string.IsNullOrEmpty(strPerson))
                            {
                                try
                                {
                                    if (DateTime.Parse(strDate).ToString("yyyy-MM-dd") != "")
                                    {
                                        DateTime dtEndDate = strEndDate == "" ? DateTime.Now.Date : DateTime.Parse(strEndDate).Date;
                                        if (dtEndDate < DateTime.Parse(strDate).Date)
                                        {
                                            lblMsg.Text = " 结束日期必须不早于开始日期";
                                        }
                                        else
                                        {
                                            foreach (SPListItem item in list.Items)
                                            {
                                                if (item["签订人"].ToString().ToLower().Contains(strPerson.ToLower()) && DateTime.Parse(item["日期"].ToString()).Date >= DateTime.Parse(strDate).Date && DateTime.Parse(item["日期"].ToString()).Date <= dtEndDate)
                                                {
                                                    lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                                }
                                            }
                                        }
                                    }

                                }
                                catch
                                {
                                    txtDate.Text = "";
                                    txtEndDate.Text = "";
                                    lblMsg.Text = " 搜索日期格式错误,请重新输入";
                                }
                            }
                            //责任人、日期不为空
                            else if (strType == "选择类型" && string.IsNullOrEmpty(strName) && !string.IsNullOrEmpty(strDate) && !string.IsNullOrEmpty(strCompany) && string.IsNullOrEmpty(strPerson))
                            {
                                try
                                {
                                    if (DateTime.Parse(strDate).ToString("yyyy-MM-dd") != "")
                                    {
                                        DateTime dtEndDate = strEndDate == "" ? DateTime.Now.Date : DateTime.Parse(strEndDate).Date;
                                        if (dtEndDate < DateTime.Parse(strDate).Date)
                                        {
                                            lblMsg.Text = " 结束日期必须不早于开始日期";
                                        }
                                        else
                                        {
                                            foreach (SPListItem item in list.Items)
                                            {
                                                if (item["合同负责人"].ToString().ToLower().Contains(strCompany.ToLower()) && DateTime.Parse(item["日期"].ToString()).Date >= DateTime.Parse(strDate).Date && DateTime.Parse(item["日期"].ToString()).Date <= dtEndDate)
                                                {
                                                    lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                                }
                                            }
                                        }
                                    }
                                    
                                }
                                catch
                                {
                                    txtDate.Text = "";
                                    txtEndDate.Text = "";
                                    lblMsg.Text = " 搜索日期格式错误,请重新输入";
                                }
                            }
                            //类型、名称、责任人不为空
                            else if (strType != "选择类型" && !string.IsNullOrEmpty(strName) && string.IsNullOrEmpty(strDate) && !string.IsNullOrEmpty(strCompany) && string.IsNullOrEmpty(strPerson))
                            {
                                foreach (SPListItem item in list.Items)
                                {
                                    if (item["合同类型"].ToString().ToLower() == strType.ToLower() && item["合同名称"].ToString().ToLower().Contains(strName.ToLower()) && item["合同负责人"].ToString().ToLower().Contains(strCompany.ToLower()))
                                    {
                                        lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                    }
                                }
                            }
                            //类型、签订人、责任人不为空
                            else if (strType != "选择类型" && string.IsNullOrEmpty(strName) && string.IsNullOrEmpty(strDate) && !string.IsNullOrEmpty(strCompany) && !string.IsNullOrEmpty(strPerson))
                            {
                                foreach (SPListItem item in list.Items)
                                {
                                    if (item["合同类型"].ToString().ToLower() == strType.ToLower() && item["签订人"].ToString().ToLower().Contains(strPerson.ToLower()) && item["合同负责人"].ToString().ToLower().Contains(strCompany.ToLower()))
                                    {
                                        lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                    }
                                }
                            }
                            //类型、签订人、合同名称不为空
                            else if (strType != "选择类型" && !string.IsNullOrEmpty(strName) && string.IsNullOrEmpty(strDate) && string.IsNullOrEmpty(strCompany) && !string.IsNullOrEmpty(strPerson))
                            {
                                foreach (SPListItem item in list.Items)
                                {
                                    if (item["合同类型"].ToString().ToLower() == strType.ToLower() && item["签订人"].ToString().ToLower().Contains(strPerson.ToLower()) && item["合同名称"].ToString().ToLower().Contains(strName.ToLower()))
                                    {
                                        lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                    }
                                }
                            }
                            //负责人、签订人、合同名称不为空
                            else if (strType == "选择类型" && !string.IsNullOrEmpty(strName) && string.IsNullOrEmpty(strDate) && !string.IsNullOrEmpty(strCompany) && !string.IsNullOrEmpty(strPerson))
                            {
                                foreach (SPListItem item in list.Items)
                                {
                                    if (item["合同负责人"].ToString().ToLower().Contains(strCompany.ToLower()) && item["签订人"].ToString().ToLower().Contains(strPerson.ToLower()) && item["合同名称"].ToString().ToLower().Contains(strName.ToLower()))
                                    {
                                        lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                    }
                                }
                            }
                            //类型、名称、日期不为空
                            else if (strType != "选择类型" && !string.IsNullOrEmpty(strName) && !string.IsNullOrEmpty(strDate) && string.IsNullOrEmpty(strCompany) && string.IsNullOrEmpty(strPerson))
                            {
                                try
                                {
                                    if (DateTime.Parse(strDate).ToString("yyyy-MM-dd") != "")
                                    {
                                        DateTime dtEndDate = strEndDate == "" ? DateTime.Now.Date : DateTime.Parse(strEndDate).Date;
                                        if (dtEndDate < DateTime.Parse(strDate).Date)
                                        {
                                            lblMsg.Text = " 结束日期必须不早于开始日期";
                                        }
                                        else
                                        {
                                            foreach (SPListItem item in list.Items)
                                            {
                                                if (item["合同类型"].ToString().ToLower() == strType.ToLower() && item["合同名称"].ToString().ToLower().Contains(strName.ToLower()) && DateTime.Parse(item["日期"].ToString()).Date >= DateTime.Parse(strDate).Date && DateTime.Parse(item["日期"].ToString()).Date <= dtEndDate)
                                                {
                                                    lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                                }
                                            }
                                        }
                                    }
                                    
                                }
                                catch
                                {
                                    txtDate.Text = "";
                                    txtEndDate.Text = "";
                                    lblMsg.Text = " 搜索日期格式错误,请重新输入";
                                }
                            }
                            //类型、责任人、日期不为空
                            else if (strType != "选择类型" && string.IsNullOrEmpty(strName) && !string.IsNullOrEmpty(strDate) && !string.IsNullOrEmpty(strCompany) && string.IsNullOrEmpty(strPerson))
                            {
                                try
                                {
                                    if (DateTime.Parse(strDate).ToString("yyyy-MM-dd") != "")
                                    {
                                        DateTime dtEndDate = strEndDate == "" ? DateTime.Now.Date : DateTime.Parse(strEndDate).Date;
                                        if (dtEndDate < DateTime.Parse(strDate).Date)
                                        {
                                            lblMsg.Text = " 结束日期必须不早于开始日期";
                                        }
                                        else
                                        {
                                            foreach (SPListItem item in list.Items)
                                            {
                                                if (item["合同类型"].ToString().ToLower() == strType.ToLower() && item["合同负责人"].ToString().ToLower().Contains(strCompany.ToLower()) && DateTime.Parse(item["日期"].ToString()).Date >= DateTime.Parse(strDate).Date && DateTime.Parse(item["日期"].ToString()).Date <= dtEndDate)
                                                {
                                                    lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                                }
                                            }
                                        }
                                    }
                                }
                                catch
                                {
                                    txtDate.Text = "";
                                    txtEndDate.Text = "";
                                    lblMsg.Text = " 搜索日期格式错误,请重新输入";
                                }
                            }
                            //名称、责任人、日期不为空
                            else if (strType == "选择类型" && !string.IsNullOrEmpty(strName) && !string.IsNullOrEmpty(strDate) && !string.IsNullOrEmpty(strCompany) && string.IsNullOrEmpty(strPerson))
                            {
                                try
                                {
                                    if (DateTime.Parse(strDate).ToString("yyyy-MM-dd") != "")
                                    {
                                        DateTime dtEndDate = strEndDate == "" ? DateTime.Now.Date : DateTime.Parse(strEndDate).Date;
                                        if (dtEndDate < DateTime.Parse(strDate).Date)
                                        {
                                            lblMsg.Text = " 结束日期必须不早于开始日期";
                                        }
                                        else
                                        {
                                            foreach (SPListItem item in list.Items)
                                            {
                                                if (item["合同名称"].ToString().ToLower().Contains(strName.ToLower()) && item["合同负责人"].ToString().ToLower().Contains(strCompany.ToLower()) && DateTime.Parse(item["日期"].ToString()).Date >= DateTime.Parse(strDate).Date && DateTime.Parse(item["日期"].ToString()).Date <= dtEndDate)
                                                {
                                                    lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                                }
                                            }
                                        }
                                    }
                                    
                                }
                                catch
                                {
                                    txtDate.Text = "";
                                    txtEndDate.Text = "";
                                    lblMsg.Text = " 搜索日期格式错误,请重新输入";
                                }
                            }
                            //类型、签订人、日期不为空
                            else if (strType != "选择类型" && string.IsNullOrEmpty(strName) && !string.IsNullOrEmpty(strDate) && string.IsNullOrEmpty(strCompany) && !string.IsNullOrEmpty(strPerson))
                            {
                                try
                                {
                                    if (DateTime.Parse(strDate).ToString("yyyy-MM-dd") != "")
                                    {
                                        DateTime dtEndDate = strEndDate == "" ? DateTime.Now.Date : DateTime.Parse(strEndDate).Date;
                                        if (dtEndDate < DateTime.Parse(strDate).Date)
                                        {
                                            lblMsg.Text = " 结束日期必须不早于开始日期";
                                        }
                                        else
                                        {
                                            foreach (SPListItem item in list.Items)
                                            {
                                                if (item["合同类型"].ToString().ToLower() == strType.ToLower() && item["签订人"].ToString().ToLower().Contains(strPerson.ToLower()) && DateTime.Parse(item["日期"].ToString()).Date >= DateTime.Parse(strDate).Date && DateTime.Parse(item["日期"].ToString()).Date <= dtEndDate)
                                                {
                                                    lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                                }
                                            }
                                        }
                                    }

                                }
                                catch
                                {
                                    txtDate.Text = "";
                                    txtEndDate.Text = "";
                                    lblMsg.Text = " 搜索日期格式错误,请重新输入";
                                }
                            }
                            //合同名称、签订人、日期不为空
                            else if (strType == "选择类型" && !string.IsNullOrEmpty(strName) && !string.IsNullOrEmpty(strDate) && string.IsNullOrEmpty(strCompany) && !string.IsNullOrEmpty(strPerson))
                            {
                                try
                                {
                                    if (DateTime.Parse(strDate).ToString("yyyy-MM-dd") != "")
                                    {
                                        DateTime dtEndDate = strEndDate == "" ? DateTime.Now.Date : DateTime.Parse(strEndDate).Date;
                                        if (dtEndDate < DateTime.Parse(strDate).Date)
                                        {
                                            lblMsg.Text = " 结束日期必须不早于开始日期";
                                        }
                                        else
                                        {
                                            foreach (SPListItem item in list.Items)
                                            {
                                                if (item["合同名称"].ToString().ToLower().Contains(strName.ToLower()) && item["签订人"].ToString().ToLower().Contains(strPerson.ToLower()) && DateTime.Parse(item["日期"].ToString()).Date >= DateTime.Parse(strDate).Date && DateTime.Parse(item["日期"].ToString()).Date <= dtEndDate)
                                                {
                                                    lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                                }
                                            }
                                        }
                                    }

                                }
                                catch
                                {
                                    txtDate.Text = "";
                                    txtEndDate.Text = "";
                                    lblMsg.Text = " 搜索日期格式错误,请重新输入";
                                }
                            }
                            //负责人、签订人、日期不为空
                            else if (strType == "选择类型" && string.IsNullOrEmpty(strName) && !string.IsNullOrEmpty(strDate) && !string.IsNullOrEmpty(strCompany) && !string.IsNullOrEmpty(strPerson))
                            {
                                try
                                {
                                    if (DateTime.Parse(strDate).ToString("yyyy-MM-dd") != "")
                                    {
                                        DateTime dtEndDate = strEndDate == "" ? DateTime.Now.Date : DateTime.Parse(strEndDate).Date;
                                        if (dtEndDate < DateTime.Parse(strDate).Date)
                                        {
                                            lblMsg.Text = " 结束日期必须不早于开始日期";
                                        }
                                        else
                                        {
                                            foreach (SPListItem item in list.Items)
                                            {
                                                if (item["合同负责人"].ToString().ToLower().Contains(strCompany.ToLower()) && item["签订人"].ToString().ToLower().Contains(strPerson.ToLower()) && DateTime.Parse(item["日期"].ToString()).Date >= DateTime.Parse(strDate).Date && DateTime.Parse(item["日期"].ToString()).Date <= dtEndDate)
                                                {
                                                    lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                                }
                                            }
                                        }
                                    }

                                }
                                catch
                                {
                                    txtDate.Text = "";
                                    txtEndDate.Text = "";
                                    lblMsg.Text = " 搜索日期格式错误,请重新输入";
                                }
                            }
                            //类型、负责人、签订人、合同名称不为空
                            else if (strType != "选择类型" && !string.IsNullOrEmpty(strName) && string.IsNullOrEmpty(strDate) && !string.IsNullOrEmpty(strCompany) && !string.IsNullOrEmpty(strPerson))
                            {
                                foreach (SPListItem item in list.Items)
                                {
                                    if (item["合同类型"].ToString().ToLower() == strType.ToLower() && item["合同负责人"].ToString().ToLower().Contains(strCompany.ToLower()) && item["签订人"].ToString().ToLower().Contains(strPerson.ToLower()) && item["合同名称"].ToString().ToLower().Contains(strName.ToLower()))
                                    {
                                        lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                    }
                                }
                            }
                            //类型、负责人、签订人、日期不为空
                            else if (strType != "选择类型" && string.IsNullOrEmpty(strName) && !string.IsNullOrEmpty(strDate) && !string.IsNullOrEmpty(strCompany) && !string.IsNullOrEmpty(strPerson))
                            {
                                try
                                {
                                    if (DateTime.Parse(strDate).ToString("yyyy-MM-dd") != "")
                                    {
                                        DateTime dtEndDate = strEndDate == "" ? DateTime.Now.Date : DateTime.Parse(strEndDate).Date;
                                        if (dtEndDate < DateTime.Parse(strDate).Date)
                                        {
                                            lblMsg.Text = " 结束日期必须不早于开始日期";
                                        }
                                        else
                                        {
                                            foreach (SPListItem item in list.Items)
                                            {
                                                if (item["合同类型"].ToString().ToLower() == strType.ToLower() && item["合同负责人"].ToString().ToLower().Contains(strCompany.ToLower()) && item["签订人"].ToString().ToLower().Contains(strPerson.ToLower()) && DateTime.Parse(item["日期"].ToString()).Date >= DateTime.Parse(strDate).Date && DateTime.Parse(item["日期"].ToString()).Date <= dtEndDate)
                                                {
                                                    lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                                }
                                            }
                                        }
                                    }

                                }
                                catch
                                {
                                    txtDate.Text = "";
                                    txtEndDate.Text = "";
                                    lblMsg.Text = " 搜索日期格式错误,请重新输入";
                                }
                            }
                            //类型、合同名称、签订人、日期不为空
                            else if (strType != "选择类型" && !string.IsNullOrEmpty(strName) && !string.IsNullOrEmpty(strDate) && string.IsNullOrEmpty(strCompany) && !string.IsNullOrEmpty(strPerson))
                            {
                                try
                                {
                                    if (DateTime.Parse(strDate).ToString("yyyy-MM-dd") != "")
                                    {
                                        DateTime dtEndDate = strEndDate == "" ? DateTime.Now.Date : DateTime.Parse(strEndDate).Date;
                                        if (dtEndDate < DateTime.Parse(strDate).Date)
                                        {
                                            lblMsg.Text = " 结束日期必须不早于开始日期";
                                        }
                                        else
                                        {
                                            foreach (SPListItem item in list.Items)
                                            {
                                                if (item["合同类型"].ToString().ToLower() == strType.ToLower() && item["合同名称"].ToString().ToLower().Contains(strName.ToLower()) && item["签订人"].ToString().ToLower().Contains(strPerson.ToLower()) && DateTime.Parse(item["日期"].ToString()).Date >= DateTime.Parse(strDate).Date && DateTime.Parse(item["日期"].ToString()).Date <= dtEndDate)
                                                {
                                                    lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                                }
                                            }
                                        }
                                    }

                                }
                                catch
                                {
                                    txtDate.Text = "";
                                    txtEndDate.Text = "";
                                    lblMsg.Text = " 搜索日期格式错误,请重新输入";
                                }
                            }
                            //类型、合同名称、负责人、日期不为空
                            else if (strType != "选择类型" && !string.IsNullOrEmpty(strName) && !string.IsNullOrEmpty(strDate) && !string.IsNullOrEmpty(strCompany) && string.IsNullOrEmpty(strPerson))
                            {
                                try
                                {
                                    if (DateTime.Parse(strDate).ToString("yyyy-MM-dd") != "")
                                    {
                                        DateTime dtEndDate = strEndDate == "" ? DateTime.Now.Date : DateTime.Parse(strEndDate).Date;
                                        if (dtEndDate < DateTime.Parse(strDate).Date)
                                        {
                                            lblMsg.Text = " 结束日期必须不早于开始日期";
                                        }
                                        else
                                        {
                                            foreach (SPListItem item in list.Items)
                                            {
                                                if (item["合同类型"].ToString().ToLower() == strType.ToLower() && item["合同名称"].ToString().ToLower().Contains(strName.ToLower()) && item["合同负责人"].ToString().ToLower().Contains(strCompany.ToLower()) && DateTime.Parse(item["日期"].ToString()).Date >= DateTime.Parse(strDate).Date && DateTime.Parse(item["日期"].ToString()).Date <= dtEndDate)
                                                {
                                                    lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                                }
                                            }
                                        }
                                    }

                                }
                                catch
                                {
                                    txtDate.Text = "";
                                    txtEndDate.Text = "";
                                    lblMsg.Text = " 搜索日期格式错误,请重新输入";
                                }
                            }
                            //负责人、合同名称、签订人、日期不为空
                            else if (strType == "选择类型" && !string.IsNullOrEmpty(strName) && !string.IsNullOrEmpty(strDate) && !string.IsNullOrEmpty(strCompany) && !string.IsNullOrEmpty(strPerson))
                            {
                                try
                                {
                                    if (DateTime.Parse(strDate).ToString("yyyy-MM-dd") != "")
                                    {
                                        DateTime dtEndDate = strEndDate == "" ? DateTime.Now.Date : DateTime.Parse(strEndDate).Date;
                                        if (dtEndDate < DateTime.Parse(strDate).Date)
                                        {
                                            lblMsg.Text = " 结束日期必须不早于开始日期";
                                        }
                                        else
                                        {
                                            foreach (SPListItem item in list.Items)
                                            {
                                                if (item["合同负责人"].ToString().ToLower().Contains(strCompany.ToLower()) && item["合同名称"].ToString().ToLower().Contains(strName.ToLower()) && item["签订人"].ToString().ToLower().Contains(strPerson.ToLower()) && DateTime.Parse(item["日期"].ToString()).Date >= DateTime.Parse(strDate).Date && DateTime.Parse(item["日期"].ToString()).Date <= dtEndDate)
                                                {
                                                    lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                                }
                                            }
                                        }
                                    }

                                }
                                catch
                                {
                                    txtDate.Text = "";
                                    txtEndDate.Text = "";
                                    lblMsg.Text = " 搜索日期格式错误,请重新输入";
                                }
                            }
                            //全不为空
                            else if (strType != "选择类型" && !string.IsNullOrEmpty(strName) && !string.IsNullOrEmpty(strDate) && !string.IsNullOrEmpty(strCompany) && !string.IsNullOrEmpty(strPerson))
                            {
                                try
                                {
                                    if (DateTime.Parse(strDate).ToString("yyyy-MM-dd") != "")
                                    {
                                        DateTime dtEndDate = strEndDate == "" ? DateTime.Now.Date : DateTime.Parse(strEndDate).Date;
                                        if (dtEndDate < DateTime.Parse(strDate).Date)
                                        {
                                            lblMsg.Text = " 结束日期必须不早于开始日期";
                                        }
                                        else
                                        {
                                            foreach (SPListItem item in list.Items)
                                            {
                                                if (item["合同类型"].ToString().ToLower() == strType.ToLower() && item["合同名称"].ToString().ToLower().Contains(strName.ToLower()) && item["合同负责人"].ToString().ToLower().Contains(strCompany.ToLower()) && item["签订人"].ToString().ToLower().Contains(strPerson.ToLower()) && DateTime.Parse(item["日期"].ToString()).Date >= DateTime.Parse(strDate).Date && DateTime.Parse(item["日期"].ToString()).Date <= dtEndDate)
                                                {
                                                    lists.Add(new Contract(item.ID, item["合同名称"].ToString(), item["合同编号"].ToString(), item["日期"] != null && !string.IsNullOrEmpty(item["日期"].ToString()) ? DateTime.Parse(item["日期"].ToString()).ToString("yyyy-MM-dd") : DateTime.Today.ToString("yyyy-MM-dd"), item["合同负责人"].ToString(), item["合同金额"].ToString(), item["合同有效期"].ToString(), item["页数"].ToString(), item["原/复印件"].ToString(), item["签订人"].ToString(), item["移交人"].ToString(), item["合同类型"].ToString(), item["备注"] != null && !string.IsNullOrEmpty(item["备注"].ToString()) ? item["备注"].ToString() : ""));
                                                }
                                            }
                                        }
                                    }
                                    
                                }
                                catch
                                {
                                    txtDate.Text = "";
                                    txtEndDate.Text = "";
                                    lblMsg.Text = " 搜索日期格式错误,请重新输入";
                                }
                            }
                            else
                            {
                                return GetContract();
                            }
                        }
                    }
                }
            }
            return lists;
        }
    }



    public class Contract
    {
        public int CID { get; set; }

        public string Title { get; set; }

        public string Number { get; set; }

        public string CDate { get; set; }

        public string ChargePerson { get; set; }

        public string Money { get; set; }

        public string Validity { get; set; }

        public string Page { get; set; }

        public string IsCopy { get; set; }

        public string SignPerson { get; set; }

        public string TranPerson { get; set; }

        public string CType { get; set; }

        public string Remark { get; set; }

        public Contract(int cid, string title, string number, string cDate, string chargePerson, string money, string validity, string page, string isCopy, string signPerson, string tranPerson, string cType, string remark)
        {
            this.CID = cid;
            this.Title = title;
            this.Number = number;
            this.CDate = cDate;
            this.ChargePerson = chargePerson;
            this.Money = money;
            this.Validity = validity;
            this.Page = page;
            this.IsCopy = isCopy;
            this.SignPerson = signPerson;
            this.TranPerson = tranPerson;
            this.CType = cType;
            this.Remark = remark;

        }
    }
}
